_gtk_css_number_value_get (shadow->hoffset, 0),
_gtk_css_number_value_get (shadow->voffset, 0));
+ gdk_cairo_set_source_rgba (cr, _gtk_css_rgba_value_get_rgba (shadow->color));
cr = gtk_css_shadow_value_start_drawing (shadow, cr);
- gdk_cairo_set_source_rgba (cr, _gtk_css_rgba_value_get_rgba (shadow->color));
_gtk_pango_fill_layout (cr, layout);
cr = gtk_css_shadow_value_finish_drawing (shadow, cr);
cairo_save (cr);
pattern = cairo_pattern_reference (cairo_get_source (cr));
- cr = gtk_css_shadow_value_start_drawing (shadow, cr);
-
gdk_cairo_set_source_rgba (cr, _gtk_css_rgba_value_get_rgba (shadow->color));
+ cr = gtk_css_shadow_value_start_drawing (shadow, cr);
cairo_translate (cr,
_gtk_css_number_value_get (shadow->hoffset, 0),
cairo_save (cr);
+ gdk_cairo_set_source_rgba (cr, _gtk_css_rgba_value_get_rgba (shadow->color));
cr = gtk_css_shadow_value_start_drawing (shadow, cr);
cairo_translate (cr,
_gtk_css_number_value_get (shadow->hoffset, 0),
_gtk_css_number_value_get (shadow->voffset, 0));
- _gtk_theming_engine_paint_spinner (cr,
- radius, progress,
- _gtk_css_rgba_value_get_rgba (shadow->color));
+ _gtk_theming_engine_paint_spinner (cr, radius, progress);
cr = gtk_css_shadow_value_finish_drawing (shadow, cr);
if (has_empty_clip (cr))
return;
+ gdk_cairo_set_source_rgba (cr, _gtk_css_rgba_value_get_rgba (shadow->color));
if (blur)
shadow_cr = gtk_css_shadow_value_start_drawing (shadow, cr);
else
if (shadow->inset)
_gtk_rounded_box_clip_path (clip_box, shadow_cr);
- gdk_cairo_set_source_rgba (shadow_cr, _gtk_css_rgba_value_get_rgba (shadow->color));
cairo_fill (shadow_cr);
if (blur)
void
_gtk_theming_engine_paint_spinner (cairo_t *cr,
gdouble radius,
- gdouble progress,
- const GdkRGBA *color)
+ gdouble progress)
{
guint num_steps, step;
gdouble half;
gdouble xscale = - sin (i * G_PI / half);
gdouble yscale = - cos (i * G_PI / half);
- cairo_set_source_rgba (cr,
- color->red,
- color->green,
- color->blue,
- color->alpha * t);
+ cairo_push_group (cr);
cairo_move_to (cr,
(radius - inset) * xscale,
radius * yscale);
cairo_stroke (cr);
+
+ cairo_pop_group_to_source (cr);
+ cairo_paint_with_alpha (cr, t);
}
cairo_restore (cr);
radius,
-1);
- _gtk_theming_engine_paint_spinner (cr,
- radius,
- -1,
- &color);
+ gdk_cairo_set_source_rgba (cr, &color);
+ _gtk_theming_engine_paint_spinner (cr, radius, -1);
cairo_restore (cr);
}